package com.lile.collection;

import java.util.LinkedList;

public class LinkedListDemo {
	public static void main(String[] args) {
		// test1();
		test2();
	}

	/*
	 * LinkedList的特有功能： A:添加功能 void addFirst() void addLast() B:移除功能 Object
	 * removeFirst() Object removeLast() C:获取功能 Object getFirst() Object
	 * getLast()
	 */
	public static void test1() {
		LinkedList<String> linkedList = new LinkedList<String>();

		linkedList.add("hello");
		linkedList.add("world");
		linkedList.add("java");

		linkedList.addFirst("android");
		linkedList.addLast("javaee");

		System.out.println("removeFirst:" + linkedList.removeFirst());
		System.out.println("removeLast:" + linkedList.removeLast());

		System.out.println("getFirst:" + linkedList.getFirst());
		System.out.println("getLast:" + linkedList.getLast());

		System.out.println("linkedList:" + linkedList);
	}

	/*
	 * LinkedList 请用LinkedList模拟栈数据结构的集合，并测试
	 * 题目的意思是：你要自己做一个集合类，这个集合提供添加元素和获取元素的功能，然后测试你的集合类。提供了LinkedList供你使用。 栈：先进后出
	 */
	public static void test2() {
		// 创建集合对象
		// LinkedList link = new LinkedList();
		//
		// // 添加元素
		// link.addFirst("hello");
		// link.addFirst("world");
		// link.addFirst("java");
		//
		// Iterator it = link.iterator();
		// while (it.hasNext()) {
		// String s = (String) it.next();
		// System.out.println(s);
		// }

		// 创建集合
		MyStack my = new MyStack();

		// 添加元素
		my.add("hello");
		my.add("world");
		my.add("java");

		// 获取
		// System.out.println(my.get());
		// System.out.println(my.get());
		// System.out.println(my.get());
		// System.out.println(my.get());

		while (!my.isEmpty()) {
			System.out.println(my.get());
		}
	}
}
